const express = require("express"); // 引入模块
const app = express(); // 创建实例

// 使用中间件处理数据
//   jQuery发起ajax请求。post时，请求体中的数据默认是url编码的
//   axios发起ajax请求。post时，请求体中的数据默认时json编码的
app.use(express.urlencoded({ extended: false })); // 让框架能够解析url编码的数据
app.use(express.json()); // 让框架能够解析json数据

// 监听向我服务器发起的所有请求
//  参数一 表示请求地址，就是url中访问的路径
//  参数二 表示回调函数，就是访问这个地址的时候的处理函数
app.get("/xx.jsp", (req, res) => {
  // send表示输出内容
  res.send("你好，世界!");
});
const people = [
  {
    id: 1,
    name: "沸羊羊",
  },
  {
    id: 2,
    name: "正南",
  },
  {
    id: 3,
    name: "双面龟",
  },
  {
    id: 4,
    name: "黑小虎",
  },
  {
    id: 5,
    name: "龟仙人",
  },
];
app.get("/", (req, res) => {
  // json 表示输出一个json数据
  res.json({
    code: 1,
    data: people,
  });
});

// post请求传递参数的时候在请求体中传递
app.post("/", (req, res) => {
  // console.log(req.body);
  people.push({
    ...req.body,
    id: Date.now(),
  });
  res.json({
    code: 1,
    data: "保存成功",
  });
});

// 监听向当前电脑3000端口发起的请求
// 端口号范围：0-65535
//  80 http默认端口号
//  21 ftp默认的端口号
//  443 https的默认端口号
app.listen(3000, () => {
  console.log("服务器运行在3000端口");
});
